import axios from "axios";
import { Message } from "element-ui";
import store from "../store";

const request = axios.create({
    baseURL: 'http://134.175.252.64:8080', // api的base_url
    // timeout: 5000 // 请求超时时间
})
// 请求拦截器
request.interceptors.request.use((config) => {
    // 从本地存储获取token
    // 携带公共参数 token
    const token = localStorage.getItem('token') ? JSON.parse(localStorage.getItem('token')) : null
    // 如果用户登陆了 需要携带 token
    if (token) {
        config.headers.token = token
        // config.headers.Authorization = `Bearer ${token}`
    }
    return config
}, (error) => {
    // 处理请求错误
    Promise.reject(error)
})
// 响应拦截器
request.interceptors.response.use(response => {
    // 根据后端返回的状态码判断是否为token过期
    if (response.data.code == 301) {
        // 执行登出操作
        store.commit('userStore/loginout')
        Message({
            type: 'error',
            message: response.data.msg
        })
    }
    return response.data
}, error => {
    // 处理http网络请求错误
    return Promise.reject(error);
})

export default request